(defun simple-fact (n)
  (let ((fact 1))
    (dotimes (i (1- n) fact) 
      (setq fact (* (1+ i) fact))
      (if (zerop (mod fact 10)) (setq fact (/ fact 10))))))

(defun factorial (n)
  (if (= n 0) 
      1 
      (* n (factorial (1- n )))))

(defun sum-digits (n)
  (cond ((zerop n) 0)
	(t(+ (sum-digits (drop-digit n)) (last-digit n)))))

(defun drop-digit (n)
  (/ (- n (mod n 10)) 10))

(defun last-digit (n)
  (mod n 10))

(print 
 (sum-digits 
  (simple-fact 100)))